import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({ //Store: 百花商场
  state: {   //状态数据 ,某一个状态下的苏剧 this.$store.state.xxx
	courseTypes:[],  //课程类型
	userInfo:{}   ,  //当前登录的用户信息
	
  },
  getters:{  //可以认为是store的计算属性
	  
  },
                //this.$store.commit('setXXX')
  mutations: { //变革/改变 ,用于修改state数据,必须时同步修改,目前可以是异步修改(比如seTimeout)
        //向store.commit传入额外的参数,就是提交负荷 payload
		setCourseTypes(state,types){ //修改课程类型
			state.courseTypes=types  
		},
		setUserInfo(state,info){  //修改用户登录信息
			state.userInfo=info
		}
  },
  actions: { //动作,用于修改state的数据,可以是异步修改
  },
  modules: {
  }
})


/*
localStorage 客户端磁盘里，永久存储
vueX与SessionStorage一样，都是把数据存储在浏览器内存中，作为回话基本的数据使用
sessionStorage中的数据刷新后不会消失，Vuex中的刷新后就消失
sessionStorage中的数据不是"响应式的"  --只要数据的值发生改变，任何使用该数据的页面内元素都立即更新；Vuex中的 数据都是响应式的
vuex
cookie expires  document.cookie=uname=dindidn,expires=30 Apr 2022
如果express设置的是未来时间，那么存储在硬盘中
如果express没写，或者是过去的时间，说明cookie已经过期，所以存储在浏览器内存中
所有cookie都是字符串

cookie,localstorage存储的都是字符串
vuex可以存储任何形式数据
*/